// 作用：用于预先处理 `$.ajax()` 参数选项。
// type/url/success/data/headers/complete...... 这些都是 ajax 参数选项
let index = 0
// 请求基础地址
const baseURL = 'http://localhost:8080/api/v1'

$.ajaxPrefilter((options) => {
  // console.log(1111111111, options)
  // 需求1：统一添加加载状态
  options.beforeSend = () => {
    index = layer.load()
  }
  // 需求4：未登录状态，token 无效，统一跳转到登录页
  options.complete = (xhr) => {
    // 请求完成时，隐藏加载状态
    layer.close(index)
    // 获取到 res 后端响应的对象
    const res = xhr.responseJSON
    if (res && res.code === 403) {
      // 未登录，直接去登录页，获取 token
      window.location.href = './login.html'
    }
  }
  // 需求2：统一在 headers 中添加 token 通行凭证
  options.headers = {
    Authorization: localStorage.getItem('token'),
  }
  // 需求3：统一添加请求基地址
  options.url = baseURL + options.url
})
